package com.doit.day06

object _03_继承 {
  def main(args: Array[String]): Unit = {
    val fu: Fu = new Zi(2, "思聪", 31)
    fu.fish()
    //子类特有的方法我是没有办法访问的
    //父类有的东西我肯定可以访问
    //如果父类的东西被子类重写了 ==》  调用子类重写过后的

    val sss: Fu = new Fu(1, "sss", 19)
    sss.fish()


  }
}

//类和构造器交织在一起
class Fu(val id: Int, var name: String, val age: Int) {
  def fish() = {
    println("钓鱼，钓鱼")
  }

  def mkMoney() = {
    println("赚钱，赚钱")
  }
}

//继承父类这个类的时候，构造器也被一起继承过来了
//var 修饰的变量不能被重写
//子类就不能出现和父类一样的成员变量
class Zi(id: Int, name1: String,  age: Int) extends Fu(id, name1, age) {

  def playGames()={
    println("打游戏打游戏")
  }

  override def fish(): Unit = println("钓大鱼，钓大鱼")

}

